generators(生成器)

Generator 函数是 ES6 的新特性,它允许一个函数返回的可遍历对象生成多个值。

在使用中你会看到 * 语法和一个新的关键词 yield:

我们在之前有认识iterator()迭代器,主要解决我们的数组遍历方法,主要解决数组遍历,提高了性能。

简单介绍一下iterator()迭代器,

 var arr = [11,12,13];
        var itr = arr[Symbol.iterator]();

        console.log(itr.next()); // { value: 11, done: false }
        console.log(itr.next()); // { value: 12, done: false }
        console.log(itr.next()); // { value: 13, done: false }

        console.log(itr.next()); // { value: undefined, done: true }
        //迭代器   提升访问具有遍历接口数据的效率
        //迭代器   它用来发文具有遍历接口数据的,有一个next()接口
        //迭代器   将当前指针移到下一个位置,返回一个对象{value,done}//done是否完成
        

        //那些数据有 遍历接口    数组  Map Set 类数组
        

生成器主要为了创建迭代器
如下代码

 function* generators(){
            yield 1;
            yield 2;
            yield 3;
            yield 4;
            yield 5;
            yield 6;
       } 
        let iter=generators();
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());`

*是特有的方法 主要为了解决迭代问题

每次执行 yield 时,返回的值变为迭代器的下一个值。


青石巷
259 声望10 粉丝

js/jq/node/es6/vue/react/Angular


下一篇 »
Promise挂载